package mb.kurier.webbean;

import java.util.ArrayList;

import javax.faces.model.SelectItem;

import mb.kurier.dao.CommissionDAO;
import mb.kurier.data.CommissionData;

/**
 * Manager obsługujący widok zleceń kuriera
 * @author Michał Budziło
 *
 */
public class MyCommissionManager {

	private CommissionDAO dao;
	private ArrayList<CommissionData> dataList;
	private ArrayList<CommissionData> dataList2; // historia paczek.
	private CommissionData editedData;
	private ArrayList<SelectItem> statusList;

	/**
	 * Konstruktor
	 */
	public MyCommissionManager() {

		dataList = new ArrayList<CommissionData>();
		dataList2 = new ArrayList<CommissionData>();
		dao = new CommissionDAO();
		dataList = dao.getCommissionList();
		statusList = new ArrayList<SelectItem>();
	}

	/**
	 * Metoda przygotowuje dane przed edycją zamówienia
	 */
	public void prepareEditData() {
		statusList = new ArrayList<SelectItem>();
		statusList.add(new SelectItem("przyjeto", "przyjeto"));
		statusList.add(new SelectItem("dostarczono", "dostarczono"));
		statusList.add(new SelectItem("zgubiono", "zgubiono"));
		statusList.add(new SelectItem("niedostarczono", "niedostarczono"));
		statusList.add(new SelectItem("oczekiwanie na dostarczenie","oczekiwanie na dostarczenie"));
		statusList.add(new SelectItem("dowoz do klienta","dowoz do klienta"));
		statusList.add(new SelectItem("do odbioru","do odbioru"));
		statusList.add(new SelectItem("odbior przez kuriera","odbior przez kuriera"));
		
		// dataList.set(currIndex, editedData);
	}
	
	/**
	 * Metoda edytuje w bazie danych zamówienie
	 */
	public void editData()
	{
		dao.update(editedData);
	}
	
	/**
	 * Metoda pobiera z bazy danych listę dostępnych zleceń kuriera
	 */
	public void refreshData()
	{
		dataList = dao.getCommissionList();
		
	}
	
	public void refreshData2()
	{
		dataList2 = dao.getCommissionHistoryList();
	}

	/**
	 * @return the dataList
	 */
	public ArrayList<CommissionData> getDataList() {
		return dataList;
	}

	/**
	 * @param dataList the dataList to set
	 */
	public void setDataList(ArrayList<CommissionData> dataList) {
		this.dataList = dataList;
	}

	/**
	 * @return the editedData
	 */
	public CommissionData getEditedData() {
		return editedData;
	}

	/**
	 * @param editedData the editedData to set
	 */
	public void setEditedData(CommissionData editedData) {
		this.editedData = editedData;
	}

	/**
	 * @return the statusList
	 */
	public ArrayList<SelectItem> getStatusList() {
		return statusList;
	}

	/**
	 * @param statusList the statusList to set
	 */
	public void setStatusList(ArrayList<SelectItem> statusList) {
		this.statusList = statusList;
	}

	/**
	 * @return the dataList2
	 */
	public ArrayList<CommissionData> getDataList2() {
		return dataList2;
	}

	/**
	 * @param dataList2 the dataList2 to set
	 */
	public void setDataList2(ArrayList<CommissionData> dataList2) {
		this.dataList2 = dataList2;
	}



}